﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Pay.DTO.tenPay
{
    /// <summary>
    /// 预支付-请求体-cipher包体
    /// </summary>
    public class ten_pre_pay
    {
        /// <summary>
        /// 商户订单号
        /// </summary>
        public string orderId { get; set; }
        /// <summary>
        /// 单位：分，整数，不要加小数点
        /// </summary>
        public int amount { get; set; }
        /// <summary>
        /// 单位：分，整数，不要加小数点
        /// </summary>
        public int merExp { get; set; }
        /// <summary>
        /// 支付卡号，贷记卡
        /// </summary>
        public string cardNo { get; set; }
        /// <summary>
        /// 支付卡手机号
        /// </summary>
        public string phone { get; set; }
        /// <summary>
        /// 卡有效期（年）
        /// </summary>
        public string cardExpYear { get; set; }
        /// <summary>
        /// 卡有效期（月）
        /// </summary>
        public string cardExpMonth { get; set; }
        /// <summary>
        /// 支付卡CVN2
        /// </summary>
        public string cvn2 { get; set; }
        /// <summary>
        /// 出款卡号
        /// </summary>
        public string outCardNo { get; set; }
        /// <summary>
        /// 出款卡手机号
        /// </summary>
        public string outCardPhone { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 身份证号
        /// </summary>
        public string certNo { get; set; }
        /// <summary>
        /// 商户名称
        /// </summary>
        public string merchantName { get; set; }
        /// <summary>
        /// 子商户id
        /// </summary>
        public string subChnMerId { get; set; }
        /// <summary>
        /// 子商户名称
        /// </summary>
        public string subChnMerName { get; set; }
        /// <summary>
        /// 子商户分类
        /// </summary>
        public string mcc { get; set; }
        /// <summary>
        /// 子商户地区码
        /// </summary>
        public string areaCode { get; set; }
        /// <summary>
        /// 产品类型 0=默认
        /// </summary>
        public int proType { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        public string goodsName { get; set; }
        /// <summary>
        /// 后端回调URL
        /// </summary>
        public string notifyURL { get; set; }
        /// <summary>
        /// 出款后端回调URL
        /// </summary>
        public string paymentNotifyURL { get; set; }
        /// <summary>
        /// 透传字段
        /// </summary>
        public string notifyArgs { get; set; }
    }
    /// <summary>
    /// 腾付通请求
    /// </summary>
    public class ten_pay_req
    {
        /// <summary>
        /// 商户号，平台分配
        /// </summary>
        public string merNo { get; set; }
        /// <summary>
        /// 服务类型标识
        /// </summary>
        public string service { get; set; }
        /// <summary>
        /// 业务包体，需要加密
        /// </summary>
        public string cipher { get; set; }
        /// <summary>
        /// 签名
        /// </summary>
        public string sign { get; set; }
    }
    /// <summary>
    /// 腾付通响应
    /// </summary>
    public class ten_pay_res
    {
        /// <summary>
        /// 商户号
        /// </summary>
        public string merNo { get; set; }
        /// <summary>
        /// 平台订单号
        /// </summary>
        public string orderNo { get; set; }
        /// <summary>
        /// 支付金额，单位：分
        /// </summary>
        public int amont { get; set; }
        /// <summary>
        /// 商户订单号
        /// </summary>
        public string orderId { get; set; }
        /// <summary>
        /// 发起支付时间
        /// </summary>
        public string tradeTime { get; set; }
        /// <summary>
        /// 成功支付时间
        /// </summary>
        public string payTime { get; set; }
        /// <summary>
        /// 交易状态，0=已接收 1=支付成功 2=支付中 3=支付失败
        /// </summary>
        public int status { get; set; }
        /// <summary>
        /// 出款状态，0=未出款 1=出款成功 2=出款中 3=出款失败
        /// </summary>
        public int paymentStatus { get; set; }
        /// <summary>
        /// 1=请求成功
        /// </summary>
        public int retCode { get; set; }
        /// <summary>
        /// 错误信息
        /// </summary>
        public string retMsg { get; set; }
    }
    /// <summary>
    /// 异步回调--请求体
    /// </summary>
    public class ten_pre_pay_notify : ten_pay_res
    {
        /// <summary>
        /// 返回透传字段
        /// </summary>
        public string notifyArgs { get; set; }
    }
    /// <summary>
    /// 确认支付--请求体
    /// </summary>
    public class ten_confirm_pay
    {
        /// <summary>
        /// 商户订单号
        /// </summary>
        public string orderId { get; set; }
        /// <summary>
        /// 短信验证码
        /// </summary>
        public string smsCode { get; set; }
    }
    /// <summary>
    /// 支付状态查询--请求体
    /// </summary>
    public class ten_pay_query_body
    {
        /// <summary>
        /// 商户订单号
        /// </summary>
        public string orderId { get; set; }
    }
}
